package cn.csc.framework.pay.core.client.impl.lkl;

import cn.csc.framework.common.exception.ErrorCode;
import cn.csc.framework.common.exception.enums.GlobalErrorCodeConstants;
import cn.csc.framework.pay.core.client.AbstractPayCodeMapping;

import java.util.Objects;

import static cn.csc.framework.pay.core.enums.PayFrameworkErrorCodeConstants.*;

/**
 * 拉卡拉的 PayCodeMapping 实现类
 * @author liuchuang
 * @version 1.0
 * @date 2023/11/2 11:36
 * @modify
 */
public class LKLPayCodeMapping extends AbstractPayCodeMapping {

    @Override
    protected ErrorCode apply0(String apiCode, String apiMsg) {
        // 聚合扫码调用成功
        if (Objects.equals(apiCode, "BBS00000")) {
            return GlobalErrorCodeConstants.SUCCESS;
        }
        // 请求服务失败
        if (Objects.equals(apiCode, "OP90001")) {
            return PAY_LKL_OP90001;
        }
        // 触发限流
        if (Objects.equals(apiCode, "OP90002")) {
            return PAY_LKL_OP90002;
        }
        // 响应处理失败
        if (Objects.equals(apiCode, "OP90003")) {
            return PAY_LKL_OP90003;
        }
        return null;
    }

}